package org.jutils.ui.fields;

import org.jutils.ui.event.updater.IUpdater;

/*******************************************************************************
 * 
 ******************************************************************************/
public interface IDataFormField<T> extends IFormField
{
    /***************************************************************************
     * @return
     **************************************************************************/
    public T getValue();

    /***************************************************************************
     * @param value
     **************************************************************************/
    public void setValue( T value );

    /***************************************************************************
     * @param updater
     **************************************************************************/
    public void setUpdater( IUpdater<T> updater );

    /***************************************************************************
     * @return
     **************************************************************************/
    public IUpdater<T> getUpdater();

    /***************************************************************************
     * @return
     **************************************************************************/
    public IValidationField getValidationField();

    /***************************************************************************
     * @param editable
     **************************************************************************/
    public void setEditable( boolean editable );
}
